## -*- mode: perl; -*-
## Personal configuration targets

%targets = (
    "debug-ben" => {
        cc               => "gcc",
        cflags           => "$gcc_devteam_warn -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -O2 -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-openbsd" => {
        cc               => "gcc",
        cflags           => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-openbsd-debug" => {
        cc               => "gcc",
        cflags           => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-debug" => {
        cc               => "gcc",
        cflags           => "$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DOPENSSL_NO_HW_PADLOCK -g3 -O2 -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-debug-64" => {
        inherit_from     => [ "x86_64_asm" ],
        cc               => "gcc",
        cflags           => combine("$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe",
                                    threads("${BSDthreads}")),
        bn_ops           => "SIXTY_FOUR_BIT_LONG",
        thread_scheme    => "pthreads",
        perlasm_scheme   => "elf",
        dso_scheme       => "dlfcn",
        shared_target    => "bsd-gcc-shared",
        shared_cflag     => "-fPIC",
        shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
    },
    "debug-ben-debug-64-clang" => {
        inherit_from     => [ "x86_64_asm" ],
        cc               => "clang",
        cflags           => combine("$gcc_devteam_warn -Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe",
                                    threads("${BSDthreads}")),
        bn_ops           => "SIXTY_FOUR_BIT_LONG",
        thread_scheme    => "pthreads",
        perlasm_scheme   => "elf",
        dso_scheme       => "dlfcn",
        shared_target    => "bsd-gcc-shared",
        shared_cflag     => "-fPIC",
        shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
    },
    "debug-ben-debug-64-noopt" => {
        inherit_from     => [ "x86_64_asm" ],
        cc               => "gcc",
        cflags           => combine("$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -pipe",
                                    threads("${BSDthreads}")),
        bn_ops           => "SIXTY_FOUR_BIT_LONG",
        thread_scheme    => "pthreads",
        perlasm_scheme   => "elf",
        dso_scheme       => "dlfcn",
        shared_target    => "bsd-gcc-shared",
        shared_cflag     => "-fPIC",
        shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
    },
    "debug-ben-macos" => {
        cc               => "cc",
        cflags           => "$gcc_devteam_warn -DOPENSSL_NO_ASM -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch i386 -O3 -DL_ENDIAN -g3 -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-no-opt" => {
        cc               => "gcc",
        cflags           => " -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DDEBUG_SAFESTACK -Werror -DL_ENDIAN -Wall -g3",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-strict" => {
        cc               => "gcc",
        cflags           => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe",
        thread_scheme    => "(unknown)",
    },
    "debug-ben-darwin64" => {
        inherit_from     => [ "x86_64_asm" ],
        cc               => "cc",
        cflags           => combine("$gcc_devteam_warn -Wno-language-extension-token -Wno-extended-offsetof -arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall",
                                    threads("-D_REENTRANT")),
        sys_id           => "MACOSX",
        plib_lflags      => "-Wl,-search_paths_first",
        bn_ops           => "SIXTY_FOUR_BIT_LONG",
        thread_scheme    => "pthreads",
        perlasm_scheme   => "macosx",
        dso_scheme       => "dlfcn",
        shared_target    => "darwin-shared",
        shared_cflag     => "-fPIC -fno-common",
        shared_ldflag    => "-arch x86_64 -dynamiclib",
        shared_extension => ".\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
    },
);
